﻿#pragma once 


#include <iostream>
#include <onnxruntime_cxx_api.h>
#include "humanseg_base.h"

using namespace Ort;
using namespace std;

class PPHumanSegOrt: public HumanSegBase
{
public:
	PPHumanSegOrt(const char *model_name, int model_width, int model_height, int is_video, int enable_debug);
	~PPHumanSegOrt();
public:
	int detect_rgb24_do(unsigned char *buf_rgb, int src_pitch, unsigned char *alpha, int alpha_pitch);

private:
    Env env_;
	Ort::Session *ort_session_ ;
	SessionOptions sessionOptions_; 
 	vector<char*> input_names_;
	vector<char*> output_names_;
	vector<vector<int64_t>> input_node_dims_; // >=1 outputs
	vector<vector<int64_t>> output_node_dims_; // >=1 outputs   
    float *src_net_in_;
};